[Info] DBM Events - DeadlyBossMods/DBM-Retail GitHub Wiki
DBM Timer Callback API Documentation
This document describes the callback events fired by DeadlyBossMods (DBM) Timer system. These events can be used by WeakAuras, custom addons, or other integrations to react to DBM timers.
Last Updated: Based on Timer.lua from DBM-Core
List of events
Timers
DBM_TimerBegin
Fired when a timer begins (always fires regardless of enabled status). Returns 19 parameters:
- arg1 - ID (string): Internal DBM timer ID
- arg2 - Msg (string): Timer text (varies by language/user settings - use for DISPLAY only, use SpellID for triggers)
- arg3 - Timer (number): Raw timer duration in seconds (minimum value for variance timers)
- arg4 - Icon (string): Texture path for icon
- arg5 - SimpType (string): Simplified timer type ("cd", "target", "stage", "cast", "warmup", "break", "pull", or "berserk")
- arg6 - SpellID (number|string): Raw spell ID or EJ ID (format: ej%d) or WeakAura special key
- arg7 - ColorID (number): Type classification (0-Default, 1-Add, 2-AoE, 3-Targeted ability, 4-Interrupt, 5-Role, 6-Stage, 7-User custom)
- arg8 - ModID (string|number): Encounter ID as string, or generic string for mods without encounter ID (trash/test mods)
- arg9 - Keep (boolean|nil): If true, keep bar on screen when it expires until TimerStop or new TimerBegin with same ID
- arg10 - Fade (boolean|nil): If true, fade the bar (set alpha to user setting/2)
- arg11 - SpellName (string): Spell name for using name instead of SpellID (Classic-friendly, but SpellID preferred)
- arg12 - MobGUID (string|nil): GUID of the mob if parsed from arguments
- arg13 - TimerCount (number|nil): Count value for count timers (for filtering specific counts)
- arg14 - IsPriority (boolean|nil): If true, this ability is flagged as extra important
- arg15 - FullType (string): Complete timer type classification (e.g., "cdcount", "nextcount", "adds", "interrupt", etc.)
- arg16 - HasVariance (boolean|nil): If true, timer has a variance window
- arg17 - MaxTimer (number|nil): Maximum timer value if HasVariance is true, otherwise nil
- arg18 - IsBarEnabled (boolean|nil): If true, the timer bar is enabled in user settings
DBM_TimerStop
Fired when a timer is stopped. Returns 2 parameters:
- arg1 - ID (string): Internal DBM timer ID
- arg2 - MobGUID (string|nil): GUID of the mob if available
DBM_TimerUpdate
Fired when a timer is updated (time modified). Returns 3 parameters:
- arg1 - ID (string): Internal DBM timer ID
- arg2 - Elapsed (number): How much time has elapsed
- arg3 - TotalTime (number): Total timer duration after modification (extended or reduced)
DBM_TimerFadeUpdate
Fired when a timer's fade status is updated. Returns 5 parameters:
- arg1 - ID (string): Internal DBM timer ID
- arg2 - SpellID (number|string): The tracked spell ID
- arg3 - ModID (string|number): Encounter ID or generic mod identifier
- arg4 - Fade (boolean|nil): If true, fade bar; if nil/false, unfade bar
- arg5 - SpellName (string|nil): Spell name if available
DBM_TimerPause
Fired when a timer is paused. Returns 1 parameter:
- arg1 - ID (string): Internal DBM timer ID
DBM_TimerResume
Fired when a timer is resumed after being paused. Returns 1 parameter:
- arg1 - ID (string): Internal DBM timer ID
DBM_TimerUpdateIcon
Fired when a timer's icon is updated. Returns 2 parameters:
- arg1 - ID (string): Internal DBM timer ID
- arg2 - Icon (string): New texture path for icon
Nameplate Timers
Nameplate-specific events have the same parameters as their standard timer counterparts:
- DBM_NameplateBegin - Same parameters as DBM_TimerBegin
- DBM_NameplateStart - Same parameters as DBM_TimerBegin (but fires only when enabled)
- DBM_NameplateStop - Same parameters as DBM_TimerStop
- DBM_NameplateUpdate - Same parameters as DBM_TimerUpdate
- DBM_NameplatePause - Same parameters as DBM_TimerPause
- DBM_NameplateResume - Same parameters as DBM_TimerResume
Important Notes
- DBM_TimerBegin always fires regardless of option enabled status and includes
IsBarEnabledflag - The deprecated DBM_TimerStart event only fired when the option was enabled (old behavior)
- For weakauras/addons, use SpellID (arg6) for triggers, not the localized message text (arg2)
- Variance timers: arg3 contains minimum timer, arg17 contains maximum timer when arg16 (HasVariance) is true
- Timer types in FullType (arg15): "cd", "cdcount", "cdsource", "cdspecial", "next", "nextcount", "nextsource", "nextspecial", "var", "varcount", "varsource", "varspecial", "ai", "adds", "addscustom", "cdnp", "cdpnp", "nextnp", "nextpnp", "castpnp", "castnp", "roleplay", "combat", "achievement", "stage", "stagecount", "stagecountcycle", "stagecontext", "stagecontextcount", "intermission", "intermissioncount", "target", "targetcount", "fades", "active", "cast", "castsource", "castcount"
DBM_SetStage
Fired when a stage/phase change occurs. Returns 5 parameters:
- arg1 - Mod (table): The mod object that fired the event
- arg2 - ModID (string|number): Mod ID
- arg3 - Phase (number): Current phase/stage number
- arg4 - EncounterID (number|nil): Encounter ID if available
- arg5 - PhaseTotal (number): Total number of times SetStage has been called since combat start
Warnings & Announces
Note: These events have varying parameter lists. Refer to the specific implementation for details.
Combat Events
- DBM_Pull - Fired when a pull timer starts
- DBM_Kill - Fired when a boss is killed
- DBM_Wipe - Fired when a wipe is detected
Group Events
- DBM_partyJoin - Player joined party
- DBM_partyLeave - Player left party
- DBM_raidJoin - Player joined raid
- DBM_raidLeave - Player left raid
Announcement & Sound Events
- DBM_Announce - General DBM announcement fired
- DBM_PlaySound - DBM plays a sound file
- DBM_MusicStart - Music playback starts
- DBM_MusicStop - Music playback stops
Debug Events
- DBM_Debug - Debug message fired (when debug mode enabled)